1. Field of the Invention
The invention relates to a method for training a system to specifically react on a specific input. More specifically the invention relates to real-time transductive training from user Interaction. The invention also relates to a computer system designed to execute the described method. Also a computer program product enabling the computer system to execute the method is part of the invention.
2. Brief Summary of the Invention
The invention deals with the problem to train a system to specifically react on a specific input from an user or from the environment. The system should be trained to make it ready for quickly identify the intention of the user or the desired action based on the values of a specific set of environmental parameters. After identification the trained system for example proposes or executes, based on a specific input or on specific values of environmental parameters, a specific action.
The invention describes a method for transductive training of a system by an user interaction that defines business and control applications as freely definable information structures of Descriptive Concept Patterns (DCP) and related pattern structures virtually representing a real-world environment of people, machines, robots, physical objects or abstract business entities and thus enabling transductive training via its interaction with users. The trained system or User-Trained Environment (UTE) enables user interaction with those stored patterns by users manipulating objects with sensors providing control signals, by analyzing video feeds, by analyzing document images, or by keyboard or touch-screen input. The UTE enables multiple User-Trained Agents (UTA) to learn machine control operations, business processes, data manipulation, interactive applications, communication and document-use by means of real-time Transductive Training from user interaction with those DCPs linked to the real world objects.
An UTE user—which can be any of or other than a machine operator, robot trainer, business clerk, business analyst or IT specialist—describes by means of physical interaction, written language or automated capture of business information freely-definable business or other concept patterns (DCPs) that are stored.
In the UTE, machines, physical objects, plant operations, applications and processes are modeled as an open-world state-space of operations- or business-relevant concepts. The training on the items is performed by user interaction—referred to as Activity Mining (AM)—on the state-space though mapped sensors and/or input devices rather than posthumous data mining.
The UTE enables the user to interact with the Descriptive Concept Patterns (DCP) and collect training information by performing activities that change the state of relevant patterns, hence Activity Mining. Activity Mining is performed either by user action on a machine or by direct user input that modify the state-space of the related DCPs, relationship patterns, item location patterns, machine function patterns, user activity patterns, process patterns, partial-order patterns, presentation patterns, real-time transaction data patterns and previously trained knowledge patterns.
Training and execution are both performed within the productive environment of the UTE without the need for intermediate knowledge engineering. A machine, robotic, operational or business activity that reaches a point of exception, meaning that it has no previously trained decision pattern that matches the current state-space pattern, will stop and wait for user training. The User-Trained Agent (UTA) is able to execute the trained knowledge on different instances of the same DCPs as well as by means of identified analogies or similarities of DCPs in the pattern storage.
One object of the invention is a method for training a system to specifically react on a specific input in real-time. Another object of the invention is a computer system designed to execute the method. A further object of the invention is a computer program product enabling the computer system to execute the method.
According to the invention the first object is solved by a method for training a system to specifically react on a specific input, comprising the steps: defining a set of binary data structures, whereas each data structure represents an abstract description of a certain type of a real-world component, item or a virtual object, comprising the features of said type of component, item or object per se, its possible states, its attributes, possible actions to be performed, and possible relationships between said components, items or virtual objects, storing each of the data structures directly as a binary pattern in a computer memory or a disk memory, creating uniquely identifiable copies of the binary data structures to represent an individual instance of said types of components, items or virtual objects, creating a virtual state space of said individual types of components, items or virtual objects by grouping them as relevant for the specific situation, receiving via keybord input, sensor devices or other technical means changes of status or attribute values of at least one of said components, items or virtual objects, storing said received changes as a new version of the respective data structure, representing the changed status and transition process of said individual components, items or virtual objects, analyzing similarities of said binary patterns stored in said computer memory or disk memory related to a particular action performed, searching for a match in said binary patterns of said data structures, and if at least one repeating binary pattern of said data structures is identified, at least one possible action related to the matched binary pattern is proposed to an operator or performed automatically.
According to the invention binary data structures, representing an abstract description of a certain type of a real-world component, are directly stored as a binary pattern in a computer memory or a disk memory. The data structures are not described as compiled machine-code or interpreted logic language based on a Boolean logic with data stored in data-base tables or as a rule-based expert or business process system that requires knowledge to be encoded in fact and belief knowledge rules—whether coded ore induced—but as freely definable binary clusters of concept patterns and pattern structures virtually representing a real-world system of machines, robots, physical objects or abstract business entities that enable multiple User-Trained Agents (UTA) to learn machine control operations, business processes, data manipulation, interactive applications and communication and document use by means of real-time transductive training from user interaction with those patterns. This method dramatically expands and innovates on the ideas of continuous planning agents to learn partial-order plans using a least-commitment strategy from real-time user interaction. Without any compilation or interpretation the access to the binary patterns of the data structures is much faster compared with known systems.
By creating uniquely identifiable copies of the binary data structures to represent individual instances of the types of components and creating a virtual state space of said individual types of components by grouping them as relevant for the specific situation, and storing received changes as a new version of the respective data structure, similarities of the binary patterns stored and related to a particular action performed could be found in real-time by analyzing directly the stored binary clusters.
A User-Trained Agent or UTA used in the UTE is a new kind of agent as it not only monitors the state-space for changes to act, but directly learns from user action on abstract concepts in the state-space in real-time. Such a new agent has to be able to observe the state-space in real-time and to identify each element, its value, location and references in the state-space and map it to user-role action and calculate a relevance of properties to the perceived action in real-time.
The UTA agent technology can observe the data-patterns and their meta-data concept definitions within the execution environment without being assigned predetermined and action sequences from an agent knowledge base. Therefore, the UTA can deal in real-time with non-deterministic or stochastic interference, as well as uncertain, partially observable, non-strategic, non-sequential, non-discrete and non-static state-spaces.
The UTA radically innovates on the general idea of the (non-linear) Transductive Support Vector Machine. The UTA does learn from the actions of the user, but the advance is the learning on the actions of the user in relation to a state-space. In state-of-the-art semi-supervised learning, transduction or transductive inference is reasoning from observing specific training cases. In contrast, induction is reasoning from observed training cases to general rules, which are stored in a knowledge base and later applied in an execution environment. The transductive model can handle very complex state-space situations that are not achievable by any inductive model. Suggesting that solving a specific problem is more important than inferring a more general function by induction, a Transductive Support Vector Machine TSVM needs points in a finite dimensional, real-valued vector space, i.e. it needs measurements to be vectors of real numbers. The UTA engine is different to the TSVM, as there no such a restriction as it evaluates only the differences in definition, relevance, stress and values between data points in an open-world state-space. The UTA learns decision patterns for n-dimensional state-spaces, general metric state spaces, or even semi-metric state-spaces by identifying action-relevant patterns in the state space regardless of their actual real-world meaning. The meaning is only necessary for an operator to understand what the UTA has learned.
For practical flexibility and more accurate process knowledge, the UTE utilizes a root container to reference all relevant business or physical operation DCP instances that represent a state-space of patterns consisting of positive literals that must be ground- and function-free. UTE concepts allow an open-world assumption meaning that not all states that are currently unknown must be false or that all concepts participating in the case must be known beforehand. In the UTE, the user can add new concept patterns and new states of concept patterns at any time. Goals and mandatory functions are represented as a partially specified state-space or sequence, represented by a conjunction of positive ground literals defined by means of a pattern query language (PQL).
In UTE such actions are trained by the user by automatically identifying over time the not-relevant elements and type-relevant elements of the state-space for a particular repeating action. Through continuous input by the user, the UTA is capable of learning from the user activity what these pre-conditions are without any additional information. In difference to state-of-the-art agent systems, the UTE does not use parseable or interpreted action description languages such as STRIPS, ADL or PDDL to describe possible actions.
The UTA has the advantage that activities do not have to be performed in a rigid chronological sequence but can be dissected into several sub-plans or activities. A good example is how you might clean a car. There are only a few required chronological steps such as ‘wash before wax’ while others can be performed at any sequence. This is very difficult to describe in a flowchart graph with complex resulting decision blocks. When it starts to rain at any time during the process of cleaning the car, it does not require a lot of intelligence to turn to cleaning the interior until it stops raining. State-of-the-art BPM systems and most AI systems have a serious problem to deal with random events that can happen at any time, foreseeable or not.
The UTA does create an implicit order of actions within a state-space by means of decision patterns but does not use partial-order planning concepts such as GRAPHPLAN, SATPLAN or BLACKBOX.
The UTA is also an innovation on what is called a CONTINUOUS PLANNING AGENT or CPA that is in principle able to react to events and can revise plans in real-time as new work-items or goals are added. A CPA is capable of beginning to execute a plan before it is complete and revise the plan as it is executed. The UTA innovates on the idea of a CPA in the sense that it asks the UTE user for training input in case of indeterminable decisions and learns from those interactions without the need for a knowledge engineer to encode new ACTION items.
The UTA is trained by means of exceptions that do not match a previously trained decision-pattern for the state-space. Such exception-based learning is considered by CASE BASED PLANNING in which plans are computed and reused as an analogy based on similar encountered exceptions but in difference to the UTE not interactively user trained.
The UTE innovates on the state-of-the-art and solves known performance problems by using a binary pattern structure that represents concepts rather than trying to interpret knowledge from program language. The UTE is modeled after the information clusters in the human brain where knowledge is stored in patterns and pattern relationships. Decisions in the human brain are not flowcharts of Boolean black-white decisions but emotionally-probabilistic shades of grey based on an analogue summary value of past experiences. The UTE is trained by human operator decisions on the state-space and learns to act the same way without knowing or trying to understand why. It only recognizes similar state-space situations without logical reasoning. This is apparently how humans make decisions as well.
The UTA advances the state-of-the-art of multi-agent systems, as current agents need to communicate which each other to cooperate or compete, by means of a rule-based reasoning engine that negotiates activities depending on context and prevailing conditions. Multiple UTAs however, do not communicate but see each other's actions as stochastic state-space changes. The UTA acts independently on state-spaces or subsets thereof much as the human-brain does. State-of-the-art agents require specialized encoded knowledge sets and communicate to create an overall workflow, such as the ADEPT system. These systems require a data-gathering, analysis, design and rule creation phase to determine the partial-order plans of the overall business process in a Procedural Reasoning System.
The UTE is not a multi-agent system where an agent is classified by reactivity, pro-activeness and social ability. These attributes assume that each agent has some ingrained knowledge that he uses to execute a certain task and communicates with other agents to some extent. The UTA is in difference a software component that monitors a state-space that contains items with associated possible actions and learns from the user interaction with those.
In the UTE, the UTAs cooperate without the need for knowing each other and the requirement to create joint plans. There is NO direct agent-to-agent communication and coordination necessary except for generic notification events. By means of agents observing different state-spaces and having different role authority, a segmentation of any complex business case is automatically achieved.
User-to-agent, agent-to-agent, and agent-to-user communication is not explicit by means of a predefined communications protocol but can be performed by means of any pattern that becomes part of the stochastic state-space, such as language (vocal, text or data and even XML), or images (documents, pictures or video). Previously trained patterns will cause either to goal-mismatch events or change the state of any object in a state-space monitored by an UTA. Language patterns can be stereotyped to reference queries, action requests, acknowledgements or commitments without induction as of to why that is the case.
The User-Trained Environment or UTE performs as a distributed peer-to-peer system with a central versioning concept repository to store the descriptive concept patterns (DCPs). The UTE represents a distributed peer-to-peer system of identical node-programs that select binary representations of concept and instance patterns from a central, version-controlled repository based user authorization or as selected by the trained knowledge patterns.
An UTE user—which can be any of or other than a machine operator, robot trainer, business clerk, business analyst or IT specialist—describes by means of physical interaction, written language or automated capture of business information freely-definable business or other concept patterns (DCPs) that are stored in a proprietary bitmap format in a central pattern storage (repository) and identically executed as-is by the UTE transactional kernel code without transcoding or compilation on every operating system that the UTE kernel runs on.
In the UTE, machines, physical objects, plant operations, applications and processes are modeled as an open-world state-space of operations- or business-relevant concepts identified by bitmap-patterns, whose state is relevant to the summary state of the process, plan or case.
In a preferred embodiment the method further comprises storing the received changes as a new version of the respective data structure while retaining the previous version in said binary pattern in said computer memory or disk memory. This enables the evolution of the respective data structure.
According to another embodiment of the invention in a training phase actions performed on the individual components, items or virtual objects are received by an identified type of operator via keyboard input, sensor devices or other technical means, and a decision pattern map of all data structures is created in the virtual state space for each repeatedly received action. During this training phase the identified operator trains the system on specific actions related to a specific input. To create a decision pattern map of the data structures for each repeatedly received action will allow a faster identification of later similar data structures. The training on the items could be performed by real-time user interaction—referred to as Activity Mining (AM)—on the state-space though mapped sensors and input devices rather than posthumous data mining.
According to another embodiment during the training phase only changes in the virtual state space caused by a specific action are collected and other automatically generated changes are excluded from collection. In this case the system is only trained on specific changes or specific input. The changes caused by a specific action are preferably distinguished from other changes by marking or by a heuristic method scanning the actions done for typical characteristics.
Improving the invention the claimed method further comprises the steps: storing snap-shot information from the individual binary data structures in the virtual state space of the point in time when said specific operator performing a specific action as abstract causal data patterns, calculating a mathematical distance between said causal data patterns to create pattern clusters, reducing the amount of data needed to search for recurring patterns in said virtual state space, building a decision tree using said causal pattern clusters using the calculated mathematical distance, using said decision tree to identify an abstract causal data pattern in the individual data structures of an individual state space upon the occurrence of a change event in the state space, using the abstract causal data in the decision tree to find a similar pattern in another individual state space, using gathered training information stored in the decision tree from operator actions in previous situations to propose probable actions to the same kind of operator in future similar situations without intermediate offline processing of collected training data.
The mathematical distance may be calculated by using matrices. The matrix distance function is a function of the row and column averages. The matrices are obtained by comparing the features of two data elements or structures.
The decision tree could be built in a recursive way. Input for a possible algorithm is a selection of raw training data from the real-time state-space. For each active feature, a clustering algorithm is performed. Each clustering may then be scored using three parameters. The cluster stress, measuring the effort needed to keep points in one cluster together and to keep different clusters apart. The purity, measuring the number of different user actions that are merged together in one cluster (ideally there would only be one user action per cluster). The cluster height, measuring the minimum of the variational distance between two clusters.
The feature whose clustering gives the best score is then used to separate the selection of input data. For each such cluster one of three possible actions may be performed. If the cluster is too small (determined by the Minimal Cluster Threshold attribute of the UTA), then it is ignored. If the cluster is pure enough (determined by the Purity Threshold attribute of the UTA), then it is used as a final node of the decision tree. Else, the elements of the cluster are used as the new selection and the decision tree builder is called with this selection.
The result of this algorithm is a decision tree. At every internal node of the decision tree, the deciding feature is stored. At every leaf node, one or more data clusters are stored.
In a further embodiment in the method the at least one action corresponding to said identified binary pattern is proposed or caused only if the number of found repeated patterns exceeds a given specific threshold value. This helps to avoid an unpredictable behavior of the system.
According to another embodiment of the invention the method further comprises the steps: defining relevant actions of said data structures and storing changed binary data structures as new versions only if at least one of said relevant actions is performed. With these steps the system is trained on specific actions related to specific data structures. The amount of stored data structures is decreased.
In principal all known methods for communicate with a computer system are possible to define the set of binary data structures. Preferably, the step of defining said set of binary data structures is performed via a keyboard, via sensory devices, via voice or via image recognition.
According to a preferred embodiment each of the binary data structures is stored directly and identically in a binary data format to computer memory or computer disk, comprising binary sequences encoding the type, a global unified identifier, a version or sequence number and a transaction ID for said structure that describes a component, item or virtual object. With such a data format each of the binary data structures and it version is uniquely identifiable. Further, the evolution of each of the data structures is available with this data structure.
To avoid an unauthorized access to the system by not authorized users or malicious programs like viruses, worms or similar, the binary data structures are stored in said computer memory or disk memory in an encrypted format. The encryption key is private to the owning node or to the complete domain. This means that access to the pattern storage is not possible from the outside as key values cannot be read and record content can not be decoded except by the authenticated program or owner from within the system with the correct role and policy.
The description of each binary data structure, describing components, items or virtual objects, comprises preferably attributes, attribute properties, possible value ranges of the attributes, access privileges and policies, state definitions, state pre- and post constraints, state transitions, transition change events, state changing event listeners, action definitions, action mapping to system internal functions, state changes and child and parent relationship definitions describing references to other data structures.
To increase the performance on read/write in a preferred embodiment the set of binary data structures is stored on a computer memory and on a disk memory.
According to another embodiment of the training method the binary data structures or the binary data patterns are exchanged via internet or other data lines between different computer systems. Preferably, all records are sent in encrypted format through the network.
In another preferred embodiment of the training method the computer memory is a computer random access memory. A computer random access memory takes the form of integrated circuits that allow the stored data to be accessed in any order. Any piece of data can be returned in a constant time regardless of its physical location. The access to the binary data pattern is accelerated.
The second object of the invention is solved with a computer system comprising at least one processor, a computer random access memory or disk memory, a number of hardware interfaces for connecting individual components or items, and an operator input/output interface to interact with virtual objects, designed to execute the method as described above.
According to a preferred embodiment the computer system further comprises a computer network interface to link multiple computer systems.
The third object of the invention is solved with a computer program product enabling a computer to execute the method as described above.
This invention employs the following distinctive differences to the state-of-the-art:
In a state-of-the-art artificial intelligence applications for process management the real world is analyzed, modeled and created by means of encoding the features of real world items and the way we interact with them into logical rules. Analytic programming in all its forms (i.e. Java, C++, Smalltalk, ILOG rules, and other AI rule languages) creates classes of concepts and maps them into a taxonomy. While taxonomies are important to the human thinking process (i.e. anything that has large teeth is potentially dangerous regardless of how it looks) so that we can consider like actions (running away). The encoding of the decision block for the ‘running away’ action is a key problem of process management as well as for artificial intelligence or machine learning. LISP and PROLOG for example allow you to encode those conditions in decision trees, but the recognition of what other related conceptual elements in our perception (of the real-world state space) might coincide to influence a decision (there is a strong fence between the teeth and me=zoo=I am safe) has been the unsolved problem.
It is assumed that the human and animal brain does not employ Boolean IF-THEN-ELSE logic to come to decisions. A brain uses a neural network that groups neurons into clusters to map perceptions to existing knowledge patterns in our brain. Certain areas of the brain are predisposed by means of their physical nerve connections to deal with certain perception functions such as sight and sound. Other cluster maps are purely trained and can take on any function. It is sometimes proposed that human decision making process is purely emotional. Humans seem decide based on previously experienced emotions in relationship to current patterns. Rational YES/NO decisions are apparently limited in their consideration of the true complexity of the real world.
The development target for the UTE was: How can we utilize such directly trained experience where actions are mapped to concepts (transductive training) in a real-time computing environment? The technical function of the initial training process and the continued learning during processing is called Activity Mining in difference to Data Mining or Knowledge Engineering as used today.
A human brain is motivated to learn by the feelings of the body and the requirement to fulfill the human needs of food, shelter and replication. It was therefore logical that the UTE software system has to be able to see itself and it has to have some core patterns predefined and described by UTE users (like genetic predisposition and reflexes in a human) and it has to learn by observing people who teach how to react to a certain pattern cluster in its storage.
The UTE software does not attempt to model emotions, but it uses large clusters of decisions patterns to come to conclusions from repeated perception of like patterns. As it learns from more than one UTE user, it is likely that a common emotional decision element is also captured in the Activity Mining. It captures however how a role-group of people generally and usually ‘feel about this decision’.
It is possible with the UTE to model the real world by pure information pattern capture. This is for example used in the UTE in document classification to distinguish between different document classes without coding rules. Such captured concept patterns are unique but abstract and their inner meaning cannot be analyzed and reused and the decision-making process cannot be audited as is required by law. Therefore, business concepts can be defined by analysts (UTE users) and made available to the business users from central pattern storage (concept repository) based on their authorization. While the UTA does not require a logical understanding of the learned decision pattern, the human operator has this requirement and thus the structure of the real world has to be encoded into descriptive concept patterns or DCPs that make sense to a human.
The knowledge capturing or training process mirrors the human brain by observing a human as it interacts with the concepts defined. To enable the learning process in real-time the UTA component is given a scope of observation (look only at these concept instances). Any number of concepts is grouped into a cluster of items, for example a business case. The user then populates the concepts with data values (instantiating them) and then performs various actions on these items. The knowledge gathered in real-time is now encoded in a cluster of knowledge patterns that hold the information as to which pattern of information in the cluster is cause for a certain action. The process is not a predetermined sequence of instructions but a decision tree of possible actions to related knowledge pattern maps.
The key distinction of this system to the current state-of-the-art is the real-time dynamics that produces flexibility completely unknown to date.
The UTE system is a system that can learn from human interaction in a very human way. It is less error prone than a human once trained, but it is not perfect in its execution. In real life there is no perfection and as a consequence, the UTE system provides the means to deal with special cases not as special but as something normal. As in real life, the exception confirms the rule.
Rather than creating or inferring a rule-based fact and belief system as in state-of-the-art AI agent systems, the UTE uses object-oriented concepts as existent in the base repository system to describe the concepts on which the UTA are later trained. In a state-of-the-art Java or C++ execution environment where all state-space data are encoded into execution binaries and some stored in database tables, the transductive agent would have to receive all data-changing events from the state-space (internal structures) and all user actions (methods) on the state-space, and then be able to logically relate these to the programmed structure of the program source code and the relational database definitions. In such systems, actions are specified in terms of defined or induced abstract pre-condition rules that must hold before they can be executed as well as the effects that these actions produce.
The definition of what represents an agent is not exact and employs broad interpretation in the scientific community. Also ‘active objects’ that perform actions based on their internal logic, are influenced by events, and send events to other objects and possess an execution thread (run as a program rather than being manipulated by another program) can also be considered as agents. Based on that perspective, any Object-Oriented program module might be considered as an agent.
In difference to state-of-the-art agents, the UTA does not work with rule-encoded beliefs linked to apparent facts by knowledge engineers but uses explicit problem-solving decision patterns learned from multiple user's repeated experience, thus considered to be ‘justified belief.’ Justified belief is much cheaper to acquire and use than abstract rule-based expertise. The only uncertainty that the agent has to deal with is how high the probability is that a decision pattern is applicable at a point in time in a given state-space, given all the possible actions, as well as their effects and the applicability to the goal.
The analysis of business, operational or plant processes by ‘expert knoweldge engineers’ results in a rigid planning model by means of a simplistic step-by-step flowchart with or without multiple logical branches and joining decision blocks. Step-by-step process flows are inherently unable to deal with the random events of daily plant operations or typical business life. State-of-the-art learning agents use post-process data-mining techniques to infer abstract business rules from past activities to create for example partial-order plans using a least-commitment strategy.
The UTE does NOT describe applications and processes by means of programs (characterized as writing a code language such as C++ or Java and then compile, trans-code, cross-compile or interpret the logic into callable program modules or components) nor does it assemble pre-coded software components to create business applications or plant process control or automation applications as a sequential step-by-step procedures, whether in XML, source code, machine language, relational data-base tables or encoded into expert systems by means of defined or inferred rules, but uses unique bitmap clusters.
The UTE does not represent a multi-tiered and multi-agent system in state-of-the-art Artificial Intelligence where different agent function is defined by explicitly assigning rules or programs over the network to an agent. In the UTE the training and execution is always local and no measurement, tuning or training data collection can be but does not have to be transferred over the network for centralized processing. The real-time performance in a distributed system is achieved by caching all DCPs and productive instances from pattern storage in UTE random access memory on the learning agnets node. This applies to all patterns from all nodes (servers) of the system. The caching process uses in particular the Object-Oriented transactional mechanism as described in U.S. Pat. No. 6,848,109 to ensure integrity of pattern definition versions as well as production data.
After the transductive training has been performed, only complete binary decision patterns are transmitted over the network, which are functionally meaningless until another agent can map those patterns to the concepts in his control domain. The training received from the users for the state-space is not basic optimization information but represents collected decision knowledge for the most probable user activity for a current state-space pattern.
State-of-the-art systems for machine automation, robot control and business processes do not allow the analysis and definition information to be modified in a productive environment because of the inability to manage changes and the potentially disastrous errors caused by incompatible programs or interfaces. This problem appears with programs as much as with rule-, or neural-net-based expert systems that learn posthumously from collected data. The UTE provides a solution by enabling error and exception handling with correction activities for machine functions and business processes rather than enforcing error-free processing. Rule languages—such as PQL—are only used to define safety or regulation driven limits.
The innovative and unique functionality of the described invention is summarized as follows:
A method for training a system (in this patent: UTE) characterized in describing real-world items such as but not limited to people, machines, robots, goods, tools, materials, documents and users by means of abstract concept and relationship models from which unique instance patterns are derived in such a manner that multiple transductive training agents in a distributed system can be assigned to real-world user roles so that the agents are individually trained by user role action (Activity Mining) to discover repeating decision patterns in an open-world state-space model of machine or robot activity, operational plans, or business cases and centrally storing the discovered decision patterns for immediate real-time reuse by other agents through cluster similarity without needing predetermined assignment of training, process slices, operational steps, logic rules or other knowledge to a particular agent.
A method further characterized in that all concept, template and instance patterns consisting of attributes, relationships, concept states and transitions, event handling and internal actions are stored in global pattern storage accessible by a unique GUID; that data patterns are descriptive binary data structures that are used to model and later contain the business item attributes; that presentation patterns are used to describe the creation of views and documents; that template patterns are created by means of relationship definitions and default data item values; that template patterns are instantiated for production pattern instances; and that knowledge patterns are trained collections of relevant attributes that describe the state conditions for actions or goal-fulfilling activity patterns.
A method further characterized by the innovation to state-of-the-art software programs that concepts describing the real world are not encoded into program code such as C++, Java or similar and permanently stored by means of serializing internal data into data base tables. The UTE software uses a structured bitmap pattern to describe concepts and simply moves the binary bitmap pattern from the internal memory of computer to pattern storage. A global unique identifier (GUID) is used to uniquely identify each pattern and each new version or variant of a pattern. For use of those patterns in a distributed computer network they are binary copied as proxies to other UTE patterns storage nodes.
A method further characterized in that security is not achieved as an additional layer using outer-shell protection but as an integral part of the UTE where user and agent authentication and authorization are part of the concept pattern definitions and users, agents, tools or external services acting on a pattern have to be authorized by role and policy definitions and each action requires a role authorization and each instance requires an access policy, and all patterns are stored to disk and transported through the network in encrypted format and all communication nodes are authorized through exchanging digitally signed authorization tickets and security compliance can be audited through archiving the complete executed operational business process instance patterns signed with a digital signature.
A method further characterized in that a UTE user authorized by means of a business role to act on certain concepts and a business policy defining the authority to perform those actions on certain productive instance patterns, defines which concepts have what relationship to an operational activity or a business case, or which functional achievement or business goals are relevant for this operation or business case.
A method further characterized in that the UTE user interface and the transaction kernel are capable of separating which user actions change the state of relevant machine function, operational or business patterns, related to a previously defined case template and can be used for training one or multiple User-Trained Agents (UTA) in sequential, distributed, parallel or hierarchical manner to learn functional, operational or business decisions and processes from real-time user interaction.
A method further characterized in that this user interaction is analyzed by so-called Activity Mining (AM) performed by the User-Trained Agent on any open-world state-space represented by a combination of concept model patterns, concept relationship patterns, machine-operations patterns, robot action patterns, user activity patterns, case patterns, presentation patterns, real-time transaction data patterns and previously trained knowledge patterns and uses Machine-Learning principles to learn and execute in real-time, rather than performing posthumous data-mining and subsequent knowledge engineering on recorded and summarized data base extracts.
A method further characterized in that each UTA is given an open-world state-space to monitor, identified by a root pattern that references a scope of different patterns to analyze for training events, where the UTA collects real-time training from user interaction and UTE external events and analyzes which attributes of a concept have which relevance for a knowledge pattern that executes local actions within a state-space instances, or executes all global actions in an implicit sequence created by decision patterns, or automatically creates new activity patterns in reaction to repeated previously unknown external events.
A method further characterized in that a previously trained UTA knowledge pattern might have caused wrong action on a functional, operational, or business pattern instance and where a properly authorized UTE user can delete single or a whole sequence of actions from a decision pattern, and therefore the UTA will not act on the respective pattern but has to request new repeated user training events to retrain the corrected decision patterns for this action on occurrence of a particular template and data pattern.
A method further characterized in that all transductive training is centrally stored in decision patterns and can be a) corrected by an ‘add more training’ function, b) invalidated in regards to a particular action with a ‘remove action training’ function, c) suspended by means of a ‘suspend training’ function, d) reactivated by means of a ‘reactivate training’ function, e) removed from usage by a ‘reset agent’ function, and f) assigned to particular agent by assigning a user role with ‘use role training’ function.
A method further characterized in that all transductive training is centrally stored in decision patterns and can be analysed across all agent training by listing available training data by a) actions performed against a particular concept, b) by concept or template, c) by user role, d) by attribute relevance, e) by time of training, and f) strength and confidence of training.
A method further characterized in that an activity pattern is a cluster map of related concepts, template or instance patterns rooted from a goal definition that causes goal-mismatch events when unknown pattern states are encountered or goal values are not fulfilled, where these events prompt authorized users to perform training on the functional, operational, or business instance patterns by either creating a new activity, or by add-on training to existing knowledge patterns within that activity pattern.
A method further characterized in that the UTE is capable of highlighting unauthorized, illegal or regulation violating functional, operational, or business activity by means of recognizing exceptions (unknown activities in the current state-space pattern) to the usual processing without defining the necessary rules that describe wrong situations, and enables monitoring machine or robot activity, as well as business compliance without logging individual user actions by identifying activity outside the range of previously trained actions taken on a given case or plan pattern.
A method further characterized in that in difference to a typical key-sequential or relational data base where concepts are defined in table definitions and data-base table records are overwritten when changed, the concept, template and instance patterns contained in the UTE pattern storage are not destroyed or overwritten except requested explicitly, but new versions of these patterns linked to the transaction number of the last change are created, stored to hard-disk and retained based on a management algorithm and defined auditing requirements.
A method further characterized in that decision patterns are not use to induce a rule execution sequences or programs, but all actions performed by users and agents are archived for auditing purposes and a tri-dimensional (3D) representation of existing concept definitions and training in central pattern storage is made available as moving items in a 3D space by means of a 3D virtual wire-frame engine or similar that enables the user to navigate with the mouse through historic state-spaces in the archive or through currently processed state-spaces in real-time and interact with all items in the state-space according to his role authority.
A method further characterized in that it advances the state-of-the-art of BPM systems, multi-agent business process management systems, ECM enterprise content management systems, as well generic workflow systems by employing a three-dimensional representation of the business case (process) and its state-space by means of multiple diagrams such as 3-D VENN diagrams or others, or by aligning various parameters on axis, such as for example process actions on the X-axis, case items on the Y-axis and user roles on the Z-axis, to enable graphical means to present case-state-event dependencies that a two-dimensional BPM process or operational plan flowchart is unable to represent.
A method further characterized in the UTE user can enter goal-defining rules (such as but not limited to PQL or Pattern Query Language) to be executed at a certain meaningful state-space pattern, which create, instantiate, navigate, search, modify or delete concepts, templates or instances and while PQL statements are stored in source code for readability and auditability they are converted to UTE pattern structures and reference concepts, templates and instances and are stored, versioned, deployed and archived in the same manner as all the other patterns in the UTE.
A method further characterized in that the UTE system structure and components—including network layouts and software components—itself is defined and controlled by concept-, template- and instance-patterns, which means an UTA can be trained to create, change and optimize or tune the system definitions, operations and processes of the UTE operating environment itself and not only the operations and business applications that have been trained to run in the UTE.
A method further characterized in that the users, whose actions are monitored by UTE, have roles that identify the state-space of concepts that they are authorized to act on and that role also defines the decision-pattern knowledge-space that the Activity Mining on their actions creates and it defines the scope of recommendations that they receive from the UTA that monitors their state-space for decision patterns.
A method further characterized in that the UTE receives events from goal-defining rules stored in the UTE repository, or receives events from message or program interfaces that connect to outside systems by any networking means and with or without imbedded content (such as documents, data fields, audio or video in any format) and that this event is acted upon by the UTE by prompting users to identify the functional, operational, or business case related meaning (not just simple classification of the content) of the data patterns contained in these events and that an UTA creates decision patterns from the actions of the user as to the abstract meaning of these events and their imbedded content in relationship to the operational or business concept instances in the UTE repository.
A method further characterized in that the user roles defined in the UTE contain also privilege information that defines how that user role can interact with the UTA training and execution functions. A role a) has to follow the suggested actions in the decision patterns, or role b) can either follow the recommended actions or perform another action but it is ignored by the Activity Mining, or role c) can either follow the recommended actions or perform another action and that action has to be authorized by a higher authority role to create new knowledge patterns, or role d) can either follow the recommended actions or perform another action and that action immediately creates new decision patterns, or role e) can delete the decision pattern that causes a recommendation and thus invalidate previous training.
A method further characterized in that the UTA uses free-form information items (represented for example as stickers, dialogs, memos, or free text email) in the stochastic state-space of the operational process or business case to communicate with the users of the UTE system and also uses these information items put by users into the state-space to train the UTA decision patterns, where such items can contain questions, related answers or action guidance created by other UTAs in the UTE system.
A method further characterized in that spoken text messages in audio format received by the UTE by any means in any language, such as phone calls (either converted to electronic by voice recognition or analyzed as speech patterns directly) or other audio recordings are used to identify concepts in the repository and that semantic language analysis allows to navigate to possible existing instances of such concepts by means of identifying the search parameters though the semantic analysis in the text where the claim is related not to the principal voice analysis but to the direct use of the analyzed text mapped to the concepts in patterns storage by means of decision patterns.
A method further characterized in that multiple instances of the UTE repository can be started of which each one represents an application domain with all its system nodes and gateway nodes can be defined so that the different application domains can communicate through the OO-transaction bus and exchange concepts, templates and instances and update each other as to the most recent versions of the same.
A method further characterized in that a worldwide central UTE Meta-Repository is accessible through the Internet and known to all UTE users where the users can download DCPs and templates for representation of real world items such as machines, robots, as well as abstract business entities and where those users can upload their own concepts and templates to the UTE Meta-Repository to be shared with other UTE users. UTE users can also download UTA trained decision-pattern knowledge that has been uploaded by other UTE users that describe decision processes and virtual plans related to real-world items such as machines, robots, physical or virtual documents, generic media content as well as abstract business entities.
A method further characterized in that a worldwide central UTE coordination service is used through the internet that allows UTE users to search the repositories of other UTE users by means of classification of patterns for concepts, templates and UTA trained knowledge while protecting the anonymity of involved parties if that is requested. This service would connect all UTE repositories used into a single globally usable knowledge repository.
A method further characterized in that the bitmap-clusters in UTE pattern storage contain the complete representation of the application functionality and the real business data and can be copied and installed in another location and on another supported operating system by a simple file-copy operation without the need for exporting and importing the UTE pattern storage.
A method further characterized in that the UTE can provide the platform for SOA Service Oriented Architectures and can be interfaced to other IT systems using the principles of SOA in which the structure and message format for communication are usually rigidly predefined using XML principles. The distinctive innovation that the UTE offers to SOA is the ability to classify incoming communication messages regardless of their bit- or byte-wise format and map these to an UTE transaction, process or case by means of interactive training by an operator.
A method further characterized in that the UTE is applied in cooperation with a navigation system for road vehicles, naval vessels or airplanes. The distinctive innovation is that future route decisions are weighted by past decisions of the user (driver) not to follow the route directions given by the navigation system. If the user/driver turns off a given route then the UTE program analyses the information patterns of time, location, map structure, weather, traffic or any other relevant information pattern received and creates a recommendation decision that overrules the basic route calculation presented to the user. A goal-based decision pattern can also be created by the UTE, where decision trees are valued with past goal achievement of shortest time, route or other criteria.
A method further characterized in that the UTE is applied in cooperation with a navigation system for road vehicles, naval vessels or airplanes and the route decisions taken by various drivers in their vehicles are stored in a central knowledge repository and reused by other drivers that have not taken that same route before. A key distinction to the state-of-art is that the route selection of the UTE is based on driver decisions related to the time of day, weather and traffic patterns and other incidental information patterns. Different driver types can choose different routes and thus classified into driver groups who make different driving choices.
A method further characterized in that the UTE is used as a modeling platform or a gaming platform in which the action properties of the various abstract entities in the game or model are trained by user interaction with the concepts via the monitor and keyboard or a gaming console rather than created by rules or random functions.
Although the invention is illustrated and described herein as embodied in a method for training a system to specifically react on a specific input, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.